package com.turing.post.salesmanage.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * @author zxp
 * @Dec 22, 2012
 */
@Remote
@Local
public interface OrganizeInfDetailDao {

	/**
	 * 获取单位证件明细信息序列号
	 * 
	 * @param organizeId
	 * @return
	 */
	public BigInteger getMaxSeqNoByOrganizeId(BigInteger organizeId);

	/**
	 * 根据主键查询单位证件明细信息
	 * 
	 * @param organizeInfDetail
	 *            单位证件明细信息
	 * @return 单位证件明细信息
	 */
	public OrganizeInfDetail getOrganizeInfDetailByOrganizeInfDetail(
			OrganizeInfDetail organizeInfDetail);

	/**
	 * 查询单个单位证件明细信息
	 * 
	 * @param organizeId
	 *            单位证件明细编号
	 * @return 单位证件明细信息列表
	 */
	public List<OrganizeInfDetail> getOrganizeInfDetailByOrganizeId(
			BigInteger organizeId);

	/**
	 * 分页查询单位证件明细
	 * 
	 * @param webInput
	 *            日志记录对象
	 * @param page
	 *            页码
	 * @return 单位证件明细列表
	 */
	public List<OrganizeInfDetail> getOrganizeInfDetailList(
			PCPSWebInput webInput, Integer page);

	/**
	 * 单位证件明细记录数
	 * 
	 * @param webInput
	 *            日志记录对象
	 * @return 记录数
	 */
	public BigInteger getOrganizeInfDetailTotal(PCPSWebInput webInput);

	/**
	 * 新增
	 * 
	 * @param OrganizeCustom
	 * @throws PCPSApplicationException
	 */
	public void insertOrganizeInfDetail(OrganizeInfDetail organizeInfDetail)
			throws PCPSApplicationException;

	/**
	 * 修改
	 * 
	 * @param OrganizeInfDetail
	 * @throws PCPSApplicationException
	 */
	public void updateOrganizeInfDetail(OrganizeInfDetail organizeInfDetail)
			throws PCPSApplicationException;
}
